#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <amqp.h>
#include <amqp_tcp_socket.h>

int main() {
    // 创建连接状态对象
    amqp_connection_state_t conn = amqp_new_connection();
    
    // 创建 TCP 套接字
    amqp_socket_t *socket = amqp_tcp_socket_new(conn);
    if (!socket) {
        fprintf(stderr, "创建套接字失败\n");
        return 1;
    }
    
    // 连接到 RabbitMQ 服务器
    int status = amqp_socket_open(socket, "localhost", 5672);
    if (status) {
        fprintf(stderr, "连接失败\n");
        return 1;
    } else {
        printf("已连接到 RabbitMQ 服务器\n");
    }
    
    // 登录到服务器
    amqp_rpc_reply_t reply = amqp_login(conn, "/", 0, 131072, 0, 
                                       AMQP_SASL_METHOD_PLAIN, "guest", "guest");
    if (reply.reply_type != AMQP_RESPONSE_NORMAL) {
        fprintf(stderr, "登录失败\n");
        return 1;
    }
    
    // 打开通道
    amqp_channel_open(conn, 1);
    reply = amqp_get_rpc_reply(conn);
    if (reply.reply_type != AMQP_RESPONSE_NORMAL) {
        fprintf(stderr, "打开通道失败\n");
        return 1;
    }
    
    // ... 进行其他操作 ...
    
    // 关闭连接
    amqp_channel_close(conn, 1, AMQP_REPLY_SUCCESS);
    amqp_connection_close(conn, AMQP_REPLY_SUCCESS);
    amqp_destroy_connection(conn);
    
    return 0;
}